#include<iostream>
#include<algorithm>
using namespace std;
typedef unsigned long long ULL;
//const int N = 1e4 + 10;
//
//ULL a[N];
//ULL gethash(string str)
//{
//	ULL ret = 0;
//	for (int i = 1; i <= str.size(); i++)
//	{
//		ret += ret * 131 + str[i-1];
//	}
//	return ret;
//}
//
//int main()
//{
//	int n;
//	cin >> n;
//	string s;
//	for (int i = 1; i <= n; i++)
//	{
//		cin >> s;
//		a[i] = gethash(s);
//	}
//	sort(a + 1, a + 1 + n);
//	int cont = 1;
//	for (int i = 2; i <= n; i++)
//	{
//		if (a[i] != a[i - 1])cont++;
//	}
//	cout << cont;
//	return 0;
//}

//string s;
//const int N = 1e6 + 10;
//ULL p[N], f[N];
//
//ULL GetHash(int l, int r)
//{
//	return f[r] - f[l - 1] * p[r - l + 1];
//}
//
//int main()
//{
//	p[0] = 1;
//	ULL n, o = 131;
//	cin >> s;
//	s = " " + s;
//	for (int i = 1; i <= s.size(); i++)
//	{
//		f[i] = f[i - 1] * o + s[i];
//		p[i] = p[i - 1] * o;
//	}
//	cin >> n;
//	while (n--)
//	{
//		ULL l1, r1, l2, r2;
//		cin >> l1 >> r1 >> l2 >> r2;
//		ULL ret1 = GetHash(l1, r1), ret2 = GetHash(l2, r2);
//
//		if (ret1 == ret2)cout << "Yes" << endl;
//		else cout << "No" << endl;
//	}
//	return 0;
//}

